package com.anycc.cloud.core.service;

import com.anycc.cloud.core.dto.Breadcrumb;
import com.anycc.cloud.core.dto.Menu;
import com.anycc.cloud.core.entity.Account;

import java.util.List;

/**
 * menu service
 */
public interface MenuService {
    /**
     * build menus with given account
     *
     * @param username username 用作缓存key
     * @param account    account
     * @param selectedSN module sn which to mark the selected Menu
     * @return List
     */
    List<Menu> makeMenu(String username,Account account, String selectedSN);

    /**
     * build breadcrumb with model sn
     *
     * @param selectedSN selectedSN
     * @return list
     */
    List<Breadcrumb> makeBreadcrumb(String selectedSN);

    /**
     * 根据角色名获取完整权限字符串
     *
     * @param roleNames 角色名称
     * @return 权限字符串集合
     */
    List<String> findFullPermissionString(List<String> roleNames);

}
